package top.fullj.win32;

/**
 * @author bruce.wu
 * @since 2019/11/13 17:20
 */
public interface WinNT {

    int NULL = 0;

    int TRUE = 1;
    int FALSE = 0;

    long INVALID_HANDLE_VALUE = -1;

    int GENERIC_READ = 0x80000000;
    int GENERIC_WRITE = 0x40000000;

    int OPEN_EXISTING = 3;

    int CBR_110 = 110;
    int CBR_300 = 300;
    int CBR_600 = 600;
    int CBR_1200 = 1200;
    int CBR_2400 = 2400;
    int CBR_4800 = 4800;
    int CBR_9600 = 9600;
    int CBR_14400 = 14400;
    int CBR_19200 = 19200;
    int CBR_38400 = 38400;
    int CBR_57600 = 57600;
    int CBR_115200 = 115200;
    int CBR_128000 = 128000;
    int CBR_256000 = 256000;

    int DTR_CONTROL_DISABLE = 0x00;
    int DTR_CONTROL_ENABLE = 0x01;
    int DTR_CONTROL_HANDSHAKE = 0x02;

    int RTS_CONTROL_DISABLE = 0x00;
    int RTS_CONTROL_ENABLE = 0x01;
    int RTS_CONTROL_HANDSHAKE = 0x02;
    int RTS_CONTROL_TOGGLE = 0x03;

    byte NOPARITY = 0;
    byte ODDPARITY = 1;
    byte EVENPARITY = 2;
    byte MARKPARITY = 3;
    byte SPACEPARITY = 4;

    byte DATABITS8 = 8;

    byte ONESTOPBIT = 0;
    byte ONE5STOPBITS = 1;
    byte TWOSTOPBITS = 2;

    int PURGE_TXABORT = 0x0001;
    int PURGE_RXABORT = 0x0002;
    int PURGE_TXCLEAR = 0x0004;
    int PURGE_RXCLEAR = 0x0008;

    int CE_RXOVER = 0x0001;
    int CE_OVERRUN = 0x0002;
    int CE_RXPARITY = 0x0004;
    int CE_FRAME = 0x0008;
    int CE_BREAK = 0x0010;

}
